home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Animation
/
Animation Vol.1 (Profi ROM)(1994).iso
/
pool
/
updates
/
symantec
/
rtlinc.exe
/
DISP.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-06-28
|
4KB
|
122 lines
/*_ disp.h Thu Dec 6 1990 */
/* Copyright (C) 1985-1990 by Walter Bright */
/* All rights reserved */
/* Written by Walter Bright */
#ifndef __DISP_H
#define __DISP_H 1 /* prevent multiple #include's */
#if __cplusplus
extern "C" {
#endif
extern int
__cdecl disp_printf(char *,...),
__cdecl disp_getmode(void),
__cdecl disp_getattr(void),
__cdecl disp_putc(int);
extern void
__cdecl disp_levelblockpoke(int,int,int,int,unsigned,unsigned *,unsigned,unsigned *,unsigned),
__cdecl disp_open(void),
__cdecl disp_puts(const char *),
__cdecl disp_box(int,int,unsigned,unsigned,unsigned,unsigned),
__cdecl disp_close(void),
__cdecl disp_usebios(void),
__cdecl disp_move(int,int),
__cdecl disp_flush(void),
__cdecl disp_eeol(void),
__cdecl disp_eeop(void),
__cdecl disp_startstand(void),
__cdecl disp_endstand(void),
__cdecl disp_setattr(int),
__cdecl disp_setcursortype(int),
__cdecl disp_pokew(int,int,unsigned short),
__cdecl disp_scroll(int,unsigned,unsigned,unsigned,unsigned,unsigned),
__cdecl disp_setmode(unsigned char),
__cdecl disp_peekbox(unsigned short *,unsigned,unsigned,unsigned,unsigned),
__cdecl disp_pokebox(unsigned short *,unsigned,unsigned,unsigned,unsigned),
__cdecl disp_set43(void),
__cdecl disp_reset43(void),
__cdecl disp_fillbox(unsigned,unsigned,unsigned,unsigned,unsigned),
__cdecl disp_hidecursor(void),
__cdecl disp_showcursor(void);
extern unsigned short __cdecl disp_peekw(int,int);
#if M_UNIX || M_XENIX
extern unsigned char __cdecl disp_scomode, __cdecl disp_captured;
extern int __cdecl disp_vt_number;
extern char __cdecl *disp_offset;
#endif
/***************************
* Some attributes for the text display adapters for disp_setattr():
*/
#define DISP_REVERSEVIDEO 0x70
#define DISP_NORMAL 0x07
#define DISP_UNDERLINE 0x01
#define DISP_NONDISPLAY 0x00
/* The following attribute bits should be OR'ed in: */
#define DISP_INTENSITY 0x08
#define DISP_BLINK 0x80
/*****************************
* Values for disp_setcursortype():
*/
#define DISP_CURSORBLOCK (disp_mono ? 0x000C : 0x0007) /* block cursor */
#define DISP_CURSORHALF (disp_mono ? 0x060C : 0x0307) /* half-size cursor */
#define DISP_CURSORUL (disp_mono ? 0x0B0C : 0x0707) /* underline cursor */
/******************************
* Display state.
*/
#pragma pack(1)
typedef struct disp_t
{
unsigned numrows; /* # of rows in display */
unsigned numcols; /* # of columns in display */
unsigned cursorrow; /* cursor position */
unsigned cursorcol;
unsigned char mono; /* 0 for color, 1 for monochrome */
unsigned char snowycga; /* if 1, then the display is an IBM snowy CGA */
unsigned char mode; /* current display mode */
unsigned char inited; /* 1 if display package is opened */
unsigned char ega; /* 1 if IBM EGA */
unsigned char reserved[3]; /* round out to dword size */
union _disp
{
unsigned short __far *base; /* base pointer into screen */
struct _disp1
{ unsigned offset;
unsigned short base;
} _disp1x;
} _dispx;
} disp_t;
#pragma pack()
extern disp_t __cdecl disp_state;
/* For backwards compatibility */
#define disp_numrows disp_state.numrows
#define disp_numcols disp_state.numcols
#define disp_cursorrow disp_state.cursorrow
#define disp_cursorcol disp_state.cursorcol
#define disp_mono disp_state.mono
#define disp_snowycga disp_state.snowycga
#define disp_mode disp_state.mode
#define disp_inited disp_state.inited
#define disp_ega disp_state.ega
#define disp_base disp_state._dispx._disp1x.base
#if __cplusplus
}
#endif
#endif /* __DISP_H */